Decentralized systems and methods for facilitating social discovery

ABSTRACT

A method includes: obtaining, by a first device associated with a first user, descriptive information from a second device associated with a second user; determining whether the first device has received a user photograph of the second user of the second device; in response to determining that the first device has not received a user photograph: establishing a connection with the second device; receiving a user photograph; determining whether a request for a user photograph of the first user is received from the second device; in response to determining that a request for a user photograph of the first user is received from the second device, transmitting a user photograph to the second device; and terminating the connection with the second device; and displaying, to the first user of the first device, at least one of the user photograph and the descriptive information.

RELATED APPLICATION INFORMATION

This application is a continuation of U.S. patent application Ser. No.14/830,655, filed on Aug. 19, 2015, which claims the benefit under 35U.S.C. § 119(e) to U.S. Provisional Patent Application Nos. 62/039,378,62/039,383, 62/039,388, 62/039,392, and 62/039,395, filed Aug. 19, 2014,the disclosures of which are incorporated herein by reference in theirentirety.

BACKGROUND 1. Technical Field

The embodiments described herein are related to social discovery, andmore particularly to a service allowing users to discover, engage, andinteract with any entity within their proximity, including other usersand businesses.

2. Related Art

Conventional location-based social discovery services allow users tolocate certain nearby places and acquaintances. In the case of ‘singles’applications, users are able to view nearby singles with matchingprofiles. However, in order to establish communication between twoindividuals, conventional social discovery services all require eitheran existing relationship (e.g., a mutual friendship) or a match (e.g.,two singles with complementary interests). These types of restrictionsdrastically limit the potential for users of conventional socialdiscovery service to encounter new people and places.

Conventional social discovery services also rely on technologies such asglobal positioning system (GPS) and WiFi-based positioning to determinethe location of various users relative to surrounding places and peopleof interest. However, GPS generally does not operate indoors whileWiFi-based positioning is not precise enough. Moreover, both GPS andWiFi-based positioning require significant backend resources. Centralservers must expend tremendous amounts the computational power in orderto track and calculate the relative position of every individual usingthe service. Consequently, conventional location-based social discoveryservices struggle to efficiently and economically accommodate largenumbers of active users.

SUMMARY

Systems and methods for facilitating social discovery are describedherein.

According to various embodiments, there is provided a system forfacilitating social discovery. The system may include a first deviceassociated with a first user and a second device associated with asecond user.

In various embodiments, the first device may comprise a hardwareprocessor and at least one executable software module. The at least oneexecutable software module, when executed by the hardware processor, isconfigured to: obtain, from the second device, descriptive informationassociated with the second user of the second device; determine whetherthe first device has already received a user photograph of the seconduser of the second device; in response to determining that the firstdevice has not already received a user photograph of the second user ofthe second device: establish a connection with the second device;receive, from the second device, a user photograph of the second user ofthe second device; determine whether a request for a user photograph isreceived from the second device; in response to determining that arequest for a user photograph is received from the second device,transmit a user photograph to the second device; and terminate theconnection with the second device; and display, to the first user of thefirst device, at least one of the user photograph and the descriptiveinformation.

According to various embodiments, there is provided a method forfacilitating social discovery. The method may include: obtaining, by afirst device associated with a first user, descriptive information froma second device associated with a second user; determining whether thefirst device has already received a user photograph of the second userof the second device; in response to determining that the first devicehas not already received a user photograph of the second user of thesecond device: establishing a connection with the second device;receiving a user photograph of the second user of the second device;determining whether a request for a user photograph of the first user isreceived from the second device; in response to determining that arequest for a user photograph of the first user is received from thesecond device, transmitting a user photograph to the second device; andterminating the connection with the second device; and displaying, tothe first user of the first device, at least one of the user photographand the descriptive information.

These and other features, aspects, and embodiments are described belowin the section entitled “Detailed Description.”

BRIEF DESCRIPTION OF THE DRAWINGS

Features, aspects, and embodiments are described in conjunction with theattached drawings, in which:

FIG. 1A is a network diagram illustrating a network environmentaccording to various embodiments;

FIG. 1B is a network diagram illustrating a network environmentaccording to various embodiments;

FIG. 2A is a flowchart illustrating a process for facilitating socialdiscovery according to various embodiments;

FIG. 2B is a flowchart illustrating a process for facilitating socialdiscovery according to various embodiments;

FIG. 3 is a flowchart illustrating a process for facilitating socialdiscovery according to various embodiments; and

FIG. 4 is a block diagram illustrating a device according to variousembodiments.

DETAILED DESCRIPTION

The embodiments described herein include a social discovery service thatpermits individual users to establish communication with any surroundingentity including, for example, but not limited to, other users andbusinesses. In some embodiments, to use and/or subscribe to the service,a user can install a mobile application onto his or her mobile device(e.g., iPhone, Android phone). One user, User A, may be interested inestablishing communication with another user, User B. According to oneexemplary embodiment, the social discovery service allows User A toestablish communication with User B without a previous relationship or amatch between User A and User B.

In various embodiments, using the mobile application, User A may be ableto see photographs of every other user in User A's vicinity, includingUser B. Likewise, User B can see User A (as well as other nearby users)from User B's mobile application. In one exemplary embodiment, thesocial discovery service and the mobile application ensure individualuser privacy by only revealing those types of information that arevisually obvious and/or readily observable by nearby users. For example,in some embodiments, the social discovery service and the mobileapplications will provide or share a photo of the individual users butnot any other types of information. In other embodiments, a user mayhave the option to disclose other types of information including, forexample, but not limited to, name, gender, group affiliations,interests, and occupation.

Advantageously, the social discovery service described hereinfacilitates introductions and communication with nearby individuals whena direct, in-person approach is difficult, awkward, or impossible. Forexample, User A may wish to start a conversation with User B. In someembodiments, from User A's mobile application, User A would select UserB (e.g., User B's photo) and a ‘send message’ option. User A can thencompose and send a message to User B. Meanwhile, to notify User B ofUser A's message, User B can, in some embodiments, see User A's photocome to the foreground of User B's mobile application. User B may chooseto accept (and respond to) User A's message or User B may ignore UserA's message altogether. In addition, User B can have the option ofblocking User A from sending any additional messages.

In some embodiments, instead of drafting a message, a user can send hisor her contact information instead (e.g., name, email address, and/orphone number). In some embodiments, the social discovery service andmobile application allow users to preconfigure their contactinformation. Once preconfigured, a user will no longer have to manuallyinput his or her contact information. In the example above, User A canselect User B's photo from User A's mobile application and then choosethe “Send My Card” option.

In some embodiments, users can also send preconfigured messages (e.g.,“Next drink is on me.”) or icons (e.g., heart, wink). For example, UserA may be able to choose from a selection of preconfigured messages.Alternately or in addition, User A may create an array of custom and/orpersonalized messages. According to one exemplary embodiment,preconfigured messages may be available in a variety of differentlanguages to accommodate users who speak different languages. Forexample, User A may speak English while User B speaks Spanish. As such,in some embodiments, the selection of preconfigured messages may bepresented to User A in English but User A will have an option to havethe selected message delivered to User B in a different language (e.g.,Spanish). Alternately, in some embodiments, a user may set a languagepreference for incoming messages. For instance, User B may set Spanishas his preferred language. Thus, while User A may send a preconfiguredmessage to User B in English, the preconfigured message will bedelivered to User B in Spanish.

In a crowded venue, a large number of users can be displayedsimultaneously in each user's mobile applications. In some embodiments,the social discovery service and mobile application allows individualusers to refine displayed information. For example, a user canselectively hide certain individuals, such as through gestures (e.g., afinger stroke) over particular photos, so that these individuals willnot be displayed in the mobile application again. In some embodiments,the information displayed to a user may be refined by applying filtersbased on various user-specified search criteria. For example, User A andUser B can each configure their individual mobile applications todisplay only the photos of individuals having one or more specifiedattributes including, for example, but not limited to, gender, groupaffiliation, interests, and occupation.

In some embodiments, rather than discovering a specific person, a usercan discover a group of individuals who all meet or match criteriaspecified by the user. That is, in some embodiments, the socialdiscovery service and mobile application allow the user to perform abroadcast search. For example, in some embodiments, User A may enter asearch criterion that filters all nearby users based on one or morespecified attributes including, for example, but not limited to, gender,group affiliation, interest, and occupation. In some embodiments, everyindividual who satisfies the search criterion is notified that they havematched the user's search criteria. In other embodiments, individualswho satisfy the search criteria can elect whether or not they would liketo be notified that they have matched another user's search criteria. Insome embodiments, in the event that someone is notified of his or hermatch to a user's search criterion, that person can further choose toautomatically reveal his or her identity to the user (e.g., have his orher picture displayed to the user) or remain anonymous until he or shedecides otherwise. Additionally, in some embodiments, the user can alsoselect which of the individuals who satisfy the search criterion arenotified of the match. For example, a selection interface may bedisplayed to a user presenting each individual who satisfy the searchcriterion. In some embodiments, the selection interface can include orprovide photographs of each individual. Alternately or in addition, theselection interface can include or provide some or all of thedescriptive material available on each individual (e.g., name, age,occupation, interests, etc.). In various embodiments, the selectioninterface can be a list of the matching individuals that the user canscroll through or a deck that the user can swipe through.

In various embodiments, after locating a group of individuals who matchthe search criteria, the user can choose to establish communication withsome or all of the individuals in the group. For example, in someembodiments, the user has the option to automatically establishcommunications with every individual who satisfies the search criteria.For instance, the user can configure the application to send apreconfigured greeting message to every individual in the group.Alternately, in some embodiments, the user can also select specificindividuals to establish communications with such as by using aselection interface (e.g., list, deck) that displays, for example, theuser photographs and/or descriptive material of the individuals whomatch the search criteria. In those embodiments, only the selectedindividuals will receive a message (e.g., personalized or preconfigured)from the user.

In some embodiments, nearby users are filtered based on informationprovided directly and/or voluntarily by each individual user including,for instance, information that each user provides at initial sign-up orsubscription to the social discovery service. For example, as part ofthe initial service sign-up or subscription process, users can specifytheir name, gender, occupation, city and state of residence, interests,and education.

In various embodiments, WiFi Direct Service Discovery allows devices(e.g., smartphones) advertising their services to broadcast name-valuepairs. In various embodiments, some or all of this information can beincluded as the name-value pairs broadcast using WiFi Direct ServiceDiscovery. As such, nearby users can be filtered as devices engage ininitial discovery (i.e., prior to connection and any exchange ofmessages).

In various embodiments, users can be filtered, alternately or inaddition, based on one or more types of deduced, inferred, or extractedinformation. In some embodiments, users can be filtered based oninformation that can be statistically, heuristically, or otherwisecomputationally inferred from existing or available information on eachuser, including sign-up or subscription information. In particular,where users are generally inclined to volunteer only minimal and/orambiguous information, supplementing with deduced, inferred, orextracted information allows for a greater variety and/or specificity offilters to be applied. For example, suppose a user neglects to specify agender, then a statistical or heuristic deduction can be made based onthat user's name. As another example, filters can also be based onfacial and/or physical features that are determined through analyzinguser photos (e.g., eye color, hair color).

In some embodiments, a user is able to keep his or her interest tointeract with another user confidential unless the other user alsoexpresses a reciprocal interest. For example, User A wishes to establishcommunication with User B. User A, for instance, selects User B's photofrom User A's mobile application. In some embodiments, User A canstipulate that this wish to establish communication is not revealed toUser B unless User B also demonstrates the same interest in User A, suchas by selecting User A's photo from User B's mobile application.

In some embodiments, a user can impose or require a fee in order forother users to communicate (e.g., send messages) to that user. Thesocial discovery service and mobile application would then restrictother users from sending messages unless those users pay the fee. Forexample, User B can stipulate a fee for receiving messages, in whichcase User A must pay that fee in order to contact User B. In the eventthat User A agrees to pay User B's fee, then User B will receive bothUser A's message and the paid fee. In some embodiments, the socialdiscovery service and User B will each receive a portion of the fee paidby User A.

In various embodiments, the fee can be an amount (e.g., $1 per message)that is stipulated by User B. Alternately, in some embodiments, the feecan be an amount set by the social discovery service. In otherembodiments, the fee is dynamic and can fluctuate based on one or moreconditions. For instance, in some embodiments, the fee can changedepending on a number of users (i.e., including or in addition to UserA) who attempt to send messages to User B at the same time or within acertain period of time (e.g., within the last hour). Alternately or inaddition, the fee may depend on a total number of messages, paid orotherwise, that User A is currently attempting to transmit or hastransmitted (e.g., within a certain period of time) to all other usersor certain users (e.g., User B). In some embodiments, the fee can alsodepend on a time (e.g., Happy Hour) when User A attempts to transmit themessage to User B. Alternately or in addition, the fee can change basedon the location (e.g., bar, restaurant, metro station) of User A andUser B.

In some embodiments, by imposing and taking the fee, User B cannotdecline to receive User A's message. For example, instead of having anoption to ignore, bypass, or otherwise not be shown User A's message,User A's message will be automatically displayed on User B's device. Insome embodiments, before User B can receive the fee paid by User A, UserB is required to provide a confirmation that User B has read themessage. For example, in some embodiments, User A's message can bedisplayed on User B's device with certain (e.g., a randomized selection)words and/or letters in the message highlighted or shown in a differentcolor. In order to receive the fee from User A, User B must provide aconfirmation by inputting back the words and/or letters that arehighlighted or shown in a different color.

In some embodiments, users can elect to receive commercial messages fromnearby businesses. For example, businesses can broadcast advertisementsor coupons that are received by nearby users. In some embodiments,individual users can choose to restrict the types of commercial messagesreceived. For instance, a user wants to only receive messages thatoriginate from certain kinds of businesses (e.g., restaurants). In someembodiments, a user can choose to receive only commercial messages ifthe broadcasting business has agreed to pay a fee to the recipient ofthe commercial messages. For example, a business pays a certain fee foreach advertisement the user receives. In some embodiments, the socialdiscovery service and the user share the fees paid by the business.

FIG. 1A is a network diagram illustrating a network environment 100according to various embodiments. Referring to FIG. 1A, in variousembodiments, a social discovery the social discovery platform 110 maycommunicate with multiple devices including, for example, but notlimited to, a first device 120, a second device 130, and a third device140 via a network 160. In various embodiments, the social discovery thesocial discovery platform 110 may be communicatively coupled with adatabase 115. The network 160 may be a wireless and wired networkincluding, for example, but not limited to, a wide area networks (WAN),a local area network (LAN), and a personal area network (PAN).

According to one exemplary embodiment, each of the first device 120, thesecond device 130, and the third device 140 may be a mobile device,including, for example, but not limited to, a smartphone (e.g., iPhones)and a tablet personal computer (PC). In some embodiments, the socialdiscovery platform 110 receives information from one or more of thefirst device 120, the second device 130, and the third device 140including, for example, but not limited to, user information andcorresponding device media access control (MAC) addresses. In variousembodiments, the social discovery platform 110 may receive theinformation via the network 160 and may be configured to store theinformation in the database 115. In various embodiments, the socialdiscovery platform 110 may also retrieve information (e.g., userinformation that corresponds to a certain device MAC address) from thedatabase 115 and transmits the information, via the network 160, to oneor more of the first device 120, the second device 130, and the thirddevice 140. According to one exemplary embodiment, each of the firstdevice 120, the second device 130, and the third device 140 may beconfigured to host an individual copy of an application 150.

In some embodiments, the first device 120 can be configured to discovernearby devices such as the second device 130 and the third device 140.In some embodiments, the first device 120 may be automatically set todiscovery mode upon launching the application 150 on the first device120. Alternately, in some embodiments, after launching the application150 on the first device 120, a user can then choose to set the firstdevice 120 in discovery mode by, for example, pressing or selecting a“Discover Nearby Devices” button or option. In addition, in thoseembodiments, the user can choose to instead “hide” the first device 120from the nearby device such as the second device 130 and the thirddevice 140.

In various embodiments, discovery amongst devices such as the firstdevice 120, the second device 130, and the third device 140 isimplemented using the WiFi Direct Service Discovery protocol. In variousembodiments, when one device (e.g., the first device 120) discoversanother device (e.g., the second device 130), information that the usersof each device provided during the initial sign-up or registration withthe social discovery service may be exchanged. In various embodiments,when a device is set in a discoverable mode, it is broadcasting toadjacent devices information that can include, for example, the device'sMAC address. Meanwhile, in various embodiments, a device that is set inthe discovery mode is listening for the same types of broadcasts fromadjacent devices. For example, in various embodiments, the first device120, the second device 130, and the third device 140 can exchangerespective MAC addresses using WiFi Direct Service Discovery. That is,in some embodiments, during the discovery phase, the first device 120can obtain the MAC addresses associated the second device 130 and thethird device 140. Meanwhile, the second device 130 and the third device140 can also obtain the MAC address associated with the first device 120during the discovery phase. As will be described in more detail below,in those embodiments, the first device 120 may transmit the MACaddresses received from the second device 130 and the third device 140to the social discovery platform 110, which is configured to respondwith at least some information (e.g., photos) on the respective users ofthe second device 130 and the third device 140.

In various embodiments, after an initial discovery phase, two devicescan further establish a connection with each other. For example, in someembodiments, if the user of the first device 120 wants to communicatewith one or more users of the second device 130 and the third device140, the devices can then establish a connection with each other inorder to exchange messages. In various embodiments, after the discoveryphase, the first device 120 can establish a WiFi Direct connection withone or more of the second device 130 and the third device 140.

Although the network environment 100 includes three devices (e.g., thefirst device 120, the second device 130, and the third device 140), aperson having ordinary skill in the art can appreciate that the networkenvironment 100 may include a different number of devices withoutdeparting from the scope of the present inventive concept.

FIG. 1B is a network diagram illustrating a network environment 170according to various embodiments. As shown in FIG. 1B, the networkenvironment 170 may include multiple devices including, for example, butnot limited to, a first device 111, a second device 112, and a thirddevice 113. According to one exemplary embodiment, each of the firstdevice 111, the second device 112, and the third device 113 may beconfigured to host an individual copy of the application 150.

In various embodiments, one or more of the first device 111, the seconddevice 112, and the third device 113 may be set in discovery mode inorder to discover the other devices that are nearby. Moreover, one ormore of the first device 111, the second device 112, and the thirddevice 113 may be set in discoverable mode, which allows the device tobe discovered by other devices nearby. For example, as shown in FIG. 1B,the first device 111 is in a discovery mode while the second device 112and the third device 113 are both in discoverable mode. As such, thefirst device 111 is able to discover, in its proximity, both the seconddevice 112 and the third device 113.

In one exemplary embodiment, the first device 111, the second device112, and the third device 113 are able to discover one another withoutengaging a central server (e.g., the social discovery platform 110).Instead of transmitting the MAC addresses of nearby devices to a centralserver and receiving corresponding user information (e.g., user photos)from the central server in return, in some embodiments, the first device111, the second device 112, and the third device 113 may exchange userinformation (e.g., name, group affiliation, interests, occupation, andphotographs) directly with one another. In various embodiments, absent acentral server, the first device 111, the second device 112, and thethird device 113 may exchange at least some forms of user informationusing WiFi Direct Service Discovery. In various embodiments, WiFi DirectService Discovery allows devices advertising their services (e.g.,devices in a discoverable mode) to broadcast name and value pairs asstrings. As such, the first device 111, the second device 112, and thethird device 113 may directly exchange string-value user informationincluding, for example, but not limited to, name, location, groupaffiliation, interests, and occupation.

In various embodiments, the first device 111, the second device 112, andthe third device 113 may also directly exchange user photographs withoutengaging a central server. For example, in some embodiments, a user mayupload a photo to the application 150 during the initial signup orregistration to the social discovery service. However, photographs arenot string values that can be exchanged as part of the name and valuepairs during the discovery phase. Thus, in order to exchange photos, twodevices may, in various embodiments, establish a direct connection. Forexample, the first device 111 may discover the second device 112 andexchange user information (e.g., name, location, group affiliation,interests, and occupation) with the second device 112 during thediscovery phase. The first device 111 may determine whether the firstdevice 111 already has a photograph of the user associated with thesecond device 112. In the event that the first device 111 determinesthat the first device 111 does not already have a photograph of the userassociated with the second device 112, the first device 111 mayestablish a first connection 142 with the second device 112 in order toexchange user photographs with the second device 112. Likewise, thefirst device 111 may also establish a second connection 144 with thethird device 113 in order to exchange user photographs with the thirddevice 113. In various embodiments, once the first device 111 receivesthe user photographs from the second device 112 and the third device113, the first device 111 may terminate the connection. Alternately, insome embodiments, the second device 112 and the third device 113 mayterminate the connection with the first device 111 when the seconddevice 112 and the third device 113 have each transmitted a respectiveuser photograph to the first device 111. According to one exemplaryembodiment, the first connection 142 and the second connection 144 maybe WiFi Direct links established between proximate devices. As such, invarious embodiments, the first device 111, the second device 112, andthe third device 113 may form peer-to-peer WiFi connections withoutconnecting to a network or a hotspot.

In some embodiments, the first device 111 interacts and exchanges userinformation directly with one or both of the second device 112 and thethird device 113 without a central server (e.g., the social discoveryplatform 110) acting as an intermediary or broker. Thus, in someembodiments, filtering nearby users may be performed locally onindividual user devices (e.g., on the first device 111) rather than at acentral server (e.g., the social discovery platform 110). For example,the first device 111 can apply certain filters (e.g., the user of thefirst device 111 may stipulate criteria based on gender, groupaffiliation, interest, and/or occupation) such that although the firstdevice 111 may have discovered both the second device 112 and the thirddevice 113, the user of the first device 111 is shown only the user ofone of the second device 112 and the third device 113.

In various embodiments, once two devices have discovered one another,the devices may then establish a connection to exchange messages. Forexample, the first device 111 can communicate with one or both of thesecond device 112 and the third device 113 through the first connection142 and the second connection 144. In various embodiments, the firstconnection 142 and the second connection 144 may be WiFi Direct linksestablished between proximate devices. As such, in various embodiments,the first device 111, the second device 112, and the third device 113may form peer-to-peer WiFi connections without connecting to a networkor a hotspot.

Although the network environment 170 is shown to include three devices(i.e., the first device 111, the second device 112, and the third device113), a person having ordinary skill in the art can appreciate that thenetwork environment 170 may include a different number of deviceswithout departing from the scope of the present inventive concept.Furthermore, a person having ordinary skill in the art can appreciatethat WiFi Direct links can be established between any number ofproximate devices and thereby support the direct exchange of informationbetween any number of devices.

FIG. 2A is a flowchart illustrating a process 200 for facilitatingsocial discovery according to various embodiments. Referring to FIGS. 1Aand 2A, in various embodiments, the process 200 may be performed by thefirst device 120 via the application 150. In various embodiments, theprocess 200 may be performed while engaging a central server such as thesocial discovery platform 110.

In various embodiments, the first device 120 may receive userinformation (202). For example, in some embodiments, a user photographand descriptive information (e.g., name, gender, interests, groupaffiliation, and occupation) for the user of the first device 120 may bereceived through user input.

In various embodiments, the first device 120 may transmit a userinformation and the MAC address of the first device 120 to the socialdiscovery platform 110 (204). In various embodiments, the informationtransmitted to the social discovery platform 110 may include a userphotograph of the user of the first device 120. Moreover, in variousembodiments, additional descriptive information regarding the user ofthe first device 120 may also be transmitted to the social discoveryplatform 110 including, for example, but not limited to, name, age,occupation, group affiliation, and interests.

In various embodiments, the first device 120 may discover one or morenearby devices (206). In various embodiments, the first device 120 maydiscover nearby devices that are set in the discoverable mode but notnearby devices that are not set in the discoverable mode. For example,using WiFi Direct Service Discovery, the first device 120 may discovernearby devices including, for example, but not limited to, the seconddevice 130 and the third device 140.

In various embodiments, the first device 120 may receive deviceinformation from at least the second device 130 nearby (208). Forexample, according to one exemplary embodiment, the first device 120 mayreceive the MAC address for one or more of the second device 130 and thethird device 140.

In various embodiments, the first device 120 may transmit the deviceinformation for the second device 130 to the social discovery platform110 (210). For example, in some embodiments, the first device 120 maytransmit the MAC addresses of one or more of the second device 130 andthe third device 140 to the social discovery platform 110.

In various embodiments, the first device 120 may receive userinformation for the second device 130 from the social discovery platform110 in response to the device information (212). In various embodiments,based on the MAC addresses transmitted by the first device 120, thesocial discovery platform 110 can identify the users of thecorresponding devices. In various embodiments, the social discoveryplatform 110 further locates information associated with those users andtransmits the user information back to the first device 120. Accordingto one exemplary embodiment, the user information from the socialdiscovery platform 110 includes photographs of the nearby users (i.e.,the users of the second device 130 and the third device 140). In someembodiments, the user information from the social discovery platform 110further includes descriptive information including, for example, but notlimited to, name, gender, group affiliation, interest, and occupation.

In various embodiments, the first device 120 displays the userinformation (214). In various embodiments, the user photographs of theusers of the nearby devices may be displayed to the user of the firstdevice 120. Additionally, in some embodiments, at least a portion of thedescriptive information (e.g., name, gender, interests, groupaffiliation, occupation) associated with each of the nearby users mayalso be displayed to the user of the first device 120.

In various embodiments, the first device 120 may receive a request toestablish communication with at least a second user of the second device130 (216). For example, in various embodiments, based on the displayeduser photographs and/or descriptive information, the user of the firstdevice 120 can elect to establish communication with one or more of theusers of the second device 130 and the third device 140.

In various embodiments, in response to the request, the first device 120may establish a connection with the second device 130 (218). In variousembodiments, the first device 120 may establish a connection with one ormore of the second device 130 and the third device 140. In someembodiments, the connections between the first device 120 and one ormore of the second device 130 and the third device 140 may be WiFiDirect connections. In some embodiments, the user of the first device120 may transmit one or more messages to one or more of the seconddevice 130 and the third device 140 through the established connection.

Although the process 200 is described with respect to the first device120, it is to be understood that the process 200 may be performed bydifferent and additional devices (e.g., the second device 130 and thethird device 140) without departing from the scope of the presentinventive concept.

FIG. 2B is a flowchart illustrating a process 250 for facilitatingsocial discovery. Referring to FIGS. 1B and 2B, in various embodiments,the process 250 may be performed by the first device 111 via theapplication 150. In various embodiments, the process 250 may beperformed without engaging a central server such as the social discoveryplatform 110.

In various embodiments, the first device 111 may discover one or morenearby device (252). For example, using WiFi Direct Service Discovery,Device 111 can discover one or more nearby devices that are set indiscoverable mode including, for example, but not limited to, the seconddevice 112 and the third device 113.

In various embodiments, the first device 111 may receive descriptiveinformation from at least the second device 112 nearby (254). Forexample, in various embodiments, during the discovery phase, the firstdevice 111 may receive descriptive information for the users of one ormore of the second device 112 and the third device 113. In variousembodiments, descriptive information may be string values that may beexchanged as name value pairs using WiFi Direct Service Discovery.Descriptive information may include, for example, but not limited to,name, age, gender, location, occupation, interests, and groupaffiliation.

In various embodiments, the first device 111 may determine whether thefirst device 111 has a user photograph of the user associated with thesecond device 112 (255). If the first device 111 determines that thefirst device 111 does not have a user photograph of the user associatedwith the second device 112 (255-N), the first device 111 may establish aconnection with the second device 112 (256) and receive a userphotograph from the second device 112 (258). For example, the firstdevice 111 may determine that the first device 111 does not already havea user photograph of the user associated with the second device 112and/or the third device 113. As such, the first device 111 may establisha connection with the second device 112 and/or the third device 113 inorder to receive the user photograph from the second device 112 and/orthe third device 113. In some embodiments, the first device 111 mayestablish the connection and request a user photograph from the seconddevice 112 and/or the third device 113. In various embodiments, theconnections between the first device 111 and the second device 112, andthe first device 111 and the third device 113 may be a WiFi Direct link.

In various embodiments, the first device 111 may determine whether arequest for a user photograph is received from the second device 112(259). For example, in some embodiments, in addition to transmitting auser photograph to the first device 111, the second device 112 may alsodetermine that the second device 112 does not have a user photograph ofthe user of the first device 111. As such, the second device 112 maytransmit a request for a user photograph to the first device 111.Alternately, in some embodiments, if the second device 112 determinesthat the second device 112 has a user photograph of the user of thefirst device 111, the second device 112 may not transmit a request for auser photograph. According to one exemplary embodiment, the seconddevice 112 may transmit a termination request to the first device 111.

In various embodiments, if the first device 111 determines that arequest for a user photograph is received from the second device 112(259-Y), the first device 111 may transmit a user photograph to thesecond device 112 (260) and terminate the connection with the seconddevice 112 (262). Alternately, if the first device 111 determines that arequest for a user photograph is not received from the second device 112(259-N), the first device 111 may terminate the connection with thesecond device 112 (262). In some embodiments, the first device 111 mayterminate the connection with the second device 112 in response to atermination request from the second device 112.

In various embodiments, the first device 111 may display one or more ofthe user photograph and descriptive information of a second user of thesecond device (264). In various embodiments, the user photographs of theusers of the nearby devices may be displayed to the user of the firstdevice 111. Additionally or alternately, in some embodiments, at least aportion of the descriptive information (e.g., name, gender, interests,group affiliation, occupation) associated with each of the nearby usersmay also be displayed to the user of the first device 111.

In various embodiments, the first device 111 may receive a request toestablish communications with at least the second user of the seconddevice 112 (266). In various embodiments, based on the displayed userphotographs and/or descriptive information, the user of the first device120 may elect to establish communication with one or more of the usersof the second device 112 and the third device 113.

In various embodiments, the first device 111 may establish a connectionwith the second device 112 (268). In various embodiments, the firstdevice 111 may establish a connection with one or more of the seconddevice 112 and the third device 113. In some embodiments, theconnections between the first device 111 and one or more of the seconddevice 112 and the third device 113 may be WiFi Direct connections. Insome embodiments, the user of the first device 111 may transmit one ormore messages to one or more of the second device 112 and the thirddevice 113 through the established connection.

Alternately, in various embodiments, the first device 111 may determinethat the first device 111 already has a user photograph of the usersassociated with the second device 112 (255-Y). For example, the firstdevice 111 may determine that the first device 111 has already obtaineda user photograph of the user associated with each of the second device112 and the third device 113. As such, the first device 111 may notestablish a connection with a nearby device (e.g., the second device 112and the third device 113) if the first device 111 determines that italready has a corresponding user photograph for the nearby device.Instead, the first device 111 may display one or more of the userphotograph and descriptive information of the second user of the seconddevice (264). The first device 111 may receive a request to establishcommunication with at least the second user of the second device (266).The first device 111 may establish a connection with the second devicein response to the request (268).

Although the process 250 is described with respect to the first device111, it is to be understood that the process 250 may be performed bydifferent and additional devices (e.g., the second device 112 and thethird device 113) without departing from the scope of the presentinventive concept.

FIG. 3 is a flowchart illustrating a process 300 for facilitating socialdiscovery according to various embodiments. Referring to FIGS. 1A and 3,in various embodiments, the process 300 may be performed by the socialdiscovery platform 110.

In various embodiments, the social discovery platform 110 may receivethe MAC address of the first device 120 and user information associatedwith the user of the first device 120 (302). For example, in variousembodiments, the social discovery platform 110 may receive a userphotograph of the user of the first device 120. Additionally, in variousembodiments, the social discovery platform 110 may also receivedescriptive information for the user of the first device 120 including,for example, but not limited to, name, gender, age, occupation,interests, and group affiliations.

In various embodiments, the social discovery platform 110 may store theMAC address and the user information associated with the first device120 (304). For example, the social discovery platform 110 may store theinformation in the database 115. According to one exemplary embodiment,storing the information includes maintaining a correlation between theMAC address of the first device 120, the corresponding user photo anddescriptive information.

In various embodiments, the social discovery platform 110 may receive aninquiry with respect to one or more MAC addresses (306). For example, invarious embodiments, the user of the first device 120 may receive theMAC addresses of nearby devices including, for example, but not limitedto, the second device 130 and the third device 140. In one exemplaryembodiment, the first device 120 may transmit the MAC addresses as partof inquiry to the social discovery platform 110 in an attempt toidentify and discover users of nearby devices.

In various embodiments, the social discovery platform 110 may retrieveuser information based at least in part on the MAC addresses (308). Forexample, in various embodiments, the social discovery platform 110 mayretrieve user photographs and/or descriptive information correspondingto the MAC addresses.

In various embodiments, the social discovery platform 110 may transmitat least a portion of the user information to the first device 120(310). For example, in some embodiments, the social discovery platform110 may transmit the user photographs of the users of the second device130 and the third device 140 to the first device 120. Additionally, insome embodiments, the social discovery platform 110 may also transmitdescriptive information for the users of the second device 130 and thethird device 140 including, for example, but not limited to, age,gender, occupation, interest, and group affiliations.

Although the process 300 is described with respect to the first device120, a person having ordinary skill in the art can appreciate that theprocess 300 may be performed with respect to different and additionaldevices (e.g., the second device 130 and the third device 140) withoutdeparting from the scope of the present inventive concept.

FIG. 4 is a block diagram illustrating a device 400 according to variousembodiments. In various embodiments, the device 400 may be a wiredand/or wireless device. In various embodiments, the device 400 can be aserver or any conventional personal computer, or any otherprocessor-enabled device that is capable of wired or wireless datacommunication. For example, in various embodiments, the device 400 mayimplement the first device 120, the second device 130, the third device140, the first device 111, the second device 112, and the third device113. Other computer systems and/or architectures can be also used, aswill be clear to those skilled in the art.

The device 400 preferably includes one or more processors, such as theprocessor 410. Additional processors can be provided, such as anauxiliary processor to manage input/output, an auxiliary processor toperform floating point mathematical operations, a special-purposemicroprocessor having an architecture suitable for fast execution ofsignal processing algorithms (e.g., digital signal processor), a slaveprocessor subordinate to the main processing system (e.g., back-endprocessor), an additional microprocessor or controller for dual ormultiple processor systems, or a coprocessor. Such auxiliary processorscan be discrete processors or can be integrated with the processor 410.Examples of processors which can be used with the device 400 include,without limitation, the Pentium® processor, Core i7® processor, andXeon® processor, all of which are available from Intel Corporation ofSanta Clara, Calif.

The processor 410 is preferably connected to a communication bus 405.The communication bus 405 can include a data channel for facilitatinginformation transfer between storage and other peripheral components ofthe device 400. The communication bus 405 further can provide a set ofsignals used for communication with the processor 410, including a databus, address bus, and control bus (not shown). The communication bus 405can comprise any standard or non-standard bus architecture such as, forexample, bus architectures compliant with industry standard architecture(ISA), extended industry standard architecture (EISA), Micro ChannelArchitecture (MCA), peripheral component interconnect (PCI) local bus,or standards promulgated by the Institute of Electrical and ElectronicsEngineers (IEEE) including IEEE 488 general-purpose interface bus (GPM),IEEE 696/S-100, and the like.

The device 400 preferably includes a main memory 415 and can alsoinclude a secondary memory 420. The main memory 415 provides storage ofinstructions and data for programs executing on the processor 410, suchas one or more of the functions and/or modules discussed above. Itshould be understood that programs stored in the memory and executed bythe processor 410 can be written and/or compiled according to anysuitable language, including without limitation C/C++, Java, JavaScript,Pearl, Visual Basic, .NET, and the like. The main memory 415 istypically semiconductor-based memory such as dynamic random accessmemory (DRAM) and/or static random access memory (SRAM). Othersemiconductor-based memory types include, for example, synchronousdynamic random access memory (SDRAM), Rambus dynamic random accessmemory (RDRAM), ferroelectric random access memory (FRAM), and the like,including read only memory (ROM).

the secondary memory 420 can optionally include an internal medium 425and/or a Removable Storage Medium 430, for example a floppy disk drive,a magnetic tape drive, a compact disc (CD) drive, a digital versatiledisc (DVD) drive, other optical drive, a flash memory drive, etc.Removable Storage Medium 430 is read from and/or written to in awell-known manner. Removable Storage Medium 430 can be, for example, afloppy disk, magnetic tape, CD, DVD, SD card, etc.

Removable Storage Medium 430 can be a non-transitory computer-readablemedium having stored thereon computer executable code (i.e., software)and/or data (e.g., for implementing at least a portion of the subjectmatter described herein). The computer software or data stored on theRemovable Storage Medium 430 is read into the device 400 for executionby the processor 410.

In alternative embodiments, the secondary memory 420 can include othersimilar means for allowing computer programs or other data orinstructions to be loaded into the device 400. Such means can include,for example, an External Storage Medium 445 and a communicationinterface 440. Examples of External Storage Medium 445 can include anexternal hard disk drive or an external optical drive, or and externalmagneto-optical drive.

Other examples of the secondary memory 420 can includesemiconductor-based memory such as programmable read-only memory (PROM),erasable programmable read-only memory (EPROM), electrically erasableread-only memory (EEPROM), or flash memory (block oriented memorysimilar to EEPROM). Also included are any other Removable Storage Media430 and the communication interface 440, which allow software and datato be transferred from an external storage medium 445 to the device 400.

The device 400 can include a communication interface 440. Thecommunication interface 440 allows software and data to be transferredbetween the device 400 and external devices (e.g. printers), networks,or information sources. For example, computer software or executablecode can be transferred to the device 400 from a network server via thecommunication interface 440. Examples of the communication interface 440include a built-in network adapter, network interface card (NIC),Personal Computer Memory Card International Association (PCMCIA) networkcard, card bus network adapter, wireless network adapter, UniversalSerial Bus (USB) network adapter, modem, a network interface card (NIC),a wireless data card, a communications port, an infrared interface, anIEEE 1394 fire-wire, or any other device capable of interfacing thedevice 400 with a network or another computing device.

the communication interface 440 preferably implements industrypromulgated protocol standards, such as Ethernet IEEE 802 standards,Fiber Channel, digital subscriber line (DSL), asynchronous digitalsubscriber line (ADSL), frame relay, asynchronous transfer mode (ATM),integrated digital services network (ISDN), personal communicationsservices (PCS), transmission control protocol/Internet protocol(TCP/IP), serial line Internet protocol/point to point protocol(SLIP/PPP), and so on, but can also implement customized or non-standardinterface protocols as well.

Software and data transferred via the communication interface 440 aregenerally in the form of one or more electrical communication signals455. The electrical communication signals 455 are preferably provided tothe communication interface 440 via a communication channel 450. In oneembodiment, the communication channel 450 can be a wired or wirelessnetwork, or any variety of other communication links. The communicationchannel 450 carries the electric communication signals 455 and can beimplemented using a variety of wired or wireless communication meansincluding wire or cable, fiber optics, conventional phone line, cellularphone link, wireless data communication link, radio frequency (“RF”)link, or infrared link, just to name a few.

Computer executable code (i.e., computer programs or software) is storedin the main memory 415 and/or the secondary memory 420. Computerprograms can also be received via the communication interface 440 andstored in the main memory 415 and/or the secondary memory 420. Suchcomputer programs, when executed, enable the device 400 to perform thevarious functions, such as those described herein.

In this description, the term “computer readable medium” is used torefer to any non-transitory computer readable storage media used toprovide computer executable code (e.g., software and computer programs)to the device 400. Examples of these media include the main memory 415,the secondary memory 420 (including the internal medium 425, a removablemedium 430, and External Storage Medium 445), and any peripheral devicecommunicatively coupled with the communication interface 440 (includinga network information server or other network device). Thesenon-transitory computer readable mediums are means for providingexecutable code, programming instructions, and software to the device400.

In an embodiment that is implemented using software, the software can bestored on a computer readable medium and loaded into the device 400 byway of the removable medium 430, an input and output (I/O) interface435, or a communication interface 440. In such an embodiment, thesoftware is loaded into the device 400 in the form of the electricalcommunication signals 455. The software, when executed by the processor410, preferably causes the processor 410 to perform the inventivefeatures and functions previously described herein.

In an embodiment, the I/O interface 435 provides an interface betweenone or more components of the device 400 and one or more input and/oroutput devices. Example input devices include, without limitation,keyboards, touch screens or other touch-sensitive devices, biometricsensing devices, computer mice, trackballs, pen-based pointing devices,camera, microphone, and the like. Examples of output devices include,without limitation, cathode ray tubes (CRTs), plasma displays,light-emitting diode (LED) displays, liquid crystal displays (LCDs),printers, vacuum florescent displays (VFDs), surface-conductionelectron-emitter displays (SEDs), field emission displays (FEDs), andthe like.

The device 400 also includes optional wireless communication componentsthat facilitate wireless communication over a voice and over a datanetwork. The wireless communication components can comprise an antennasystem 460, a radio system 465, a baseband system 470, or anycombination thereof. In the device 400, radio frequency (RF) signals aretransmitted and received over the air by the antenna system 460 underthe management of the radio system 465.

In one embodiment, the antenna system 460 can comprise one or moreantennae and one or more multiplexors (not shown) that perform aswitching function to provide the antenna system 460 with transmit andreceive signal paths. In the receive path, received RF signals can becoupled from a multiplexor to a low noise amplifier (not shown) thatamplifies the received RF signal and sends the amplified signal to theradio system 465.

In alternative embodiments, the radio system 465 can comprise one ormore radios that are configured to communicate over various frequencies.In one embodiment, the radio system 465 can combine a demodulator (notshown) and modulator (not shown) in one integrated circuit (IC). Thedemodulator and modulator can also be separate components. In theincoming path, the demodulator strips away the RF carrier signal leavinga baseband receive audio signal, which is sent from the radio system 465to the baseband system 470.

If the received signal contains audio information, the baseband system470 decodes the signal and converts it to an analog signal. Then thesignal is amplified and sent to a speaker. The baseband system 470 alsoreceives analog audio signals from a microphone. These analog audiosignals are converted to digital signals and encoded by the basebandsystem 470. The baseband system 470 also codes the digital signals fortransmission and generates a baseband transmit audio signal that isrouted to the modulator portion of the radio system 465. The modulatormixes the baseband transmit audio signal with an RF carrier signalgenerating an RF transmit signal that is routed to the antenna systemand can pass through a power amplifier (not shown). The power amplifieramplifies the RF transmit signal and routes it to the antenna system 460where the signal is switched to the antenna port for transmission.

The baseband system 470 is also communicatively coupled with theprocessor 410. The processor 410 has access to the main memory 415 andthe secondary memory 420. The processor 410 is preferably configured toexecute instructions (i.e., computer programs or software) that can bestored in the main memory 415 or the secondary memory 420. Computerprograms can also be received from the baseband system 470 and stored inthe main memory 415 or in the secondary memory 420, or executed uponreceipt. Such computer programs, when executed, enable the device 400 toperform the various functions, such as those described herein. Forexample, the main memory 415 and the secondary memory 420 can eachinclude various software modules (not shown).

Various embodiments can also be implemented primarily in hardware using,for example, components such as application specific integrated circuits(ASICs), or field programmable gate arrays (FPGAs). Implementation of ahardware state machine capable of performing the functions describedherein will also be apparent to those skilled in the relevant art.Various embodiments can also be implemented using a combination of bothhardware and software.

Furthermore, those of skill in the art will appreciate that the variousillustrative logical blocks, modules, circuits, and method stepsdescribed in connection with the above described figures and theembodiments disclosed herein can often be implemented as electronichardware, computer software, or combinations of both. To clearlyillustrate this interchangeability of hardware and software, variousillustrative components, blocks, modules, circuits, and steps have beendescribed above generally in terms of their functionality. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. Skilled persons can implement the described functionality invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the invention. In addition, the grouping of functions within amodule, block, circuit or step is for ease of description. Specificfunctions or steps can be moved from one module, block or circuit toanother without departing from the invention.

Moreover, the various illustrative logical blocks, modules, functions,and methods described in connection with the embodiments disclosedherein can be implemented or performed with a general purpose processor,a digital signal processor (DSP), an ASIC, FPGA or other programmablelogic device, discrete gate or transistor logic, discrete hardwarecomponents, or any combination thereof designed to perform the functionsdescribed herein. A general-purpose processor can be a microprocessor,but in the alternative, the processor can be any processor, controller,microcontroller, or state machine. A processor can also be implementedas a combination of computing devices, for example, a combination of aDSP and a microprocessor, a plurality of microprocessors, one or moremicroprocessors in conjunction with a DSP core, or any other suchconfiguration.

Additionally, the steps of a method or algorithm described in connectionwith the embodiments disclosed herein can be embodied directly inhardware, in a software module executed by a processor, or in acombination of the two. A software module can reside in RAM memory,flash memory, ROM memory, EPROM memory, EEPROM memory, registers, harddisk, a removable disk, a CD-ROM, or any other form of storage mediumincluding a network storage medium. An exemplary storage medium can becoupled to the processor such the processor can read information from,and write information to, the storage medium. In the alternative, thestorage medium can be integral to the processor. The processor and thestorage medium can also reside in an ASIC.

What is claimed:
 1. A system for facilitating decentralized socialdiscovery, comprising: a first device associated with a first user and asecond device associated with a second user, wherein the first devicecomprises: a hardware processor; and at least one executable softwaremodule that, when executed by the hardware processor, is configured to:obtain, from the second device, descriptive information associated withthe second user of the second device; determine whether the first devicehas already received a user photograph of the second user of the seconddevice from the second device, wherein the first device is to search adata storage of the first device for the user photograph of the seconduser of the second device; in response to determining, by the hardwareprocessor, that the first device has not already received, from thesecond device, a user photograph of the second user of the seconddevice: establish a decentralized connection with a communicationinterface of the second device independent of a centralized server; andreceive, from the second device, a user photograph of the second user ofthe second device; determine whether a request for a user photograph isreceived from the second device; in response to determining that arequest for a user photograph is received from the second device,transmit a user photograph to the second device; and terminate theconnection with the second device; and display, to the first user of thefirst device, at least one of the user photograph and the descriptiveinformation received from the second device.
 2. The system of claim 1,wherein the executable software module is further configured to discoverthe second device and receive device information from the second deviceindependent of an Internet connection without engaging a central server.3. The system of claim 1, wherein the executable software module isfurther configured to: receive, from the first device, a request toestablish communications with at least the second user of the seconddevice; and establish a connection with the second device in response tothe request.
 4. The system of claim 3, wherein the executable softwaremodule is further configured to: receive, from the first device, amessage to transmit to the second user; and transmit the message to thesecond device.
 5. The system of claim 4, wherein the second devicecomprises: a hardware processor; and at least one executable softwaremodule that, when executed by the hardware processor, is configured to:receive, from the first device, the message from the first user;determine whether the first user paid a fee; and in response todetermining that the first user paid the fee, display the message on thesecond device.
 6. The system of claim 5, wherein the fee comprises oneof an amount stipulated by the second user and an amount set by thedecentralized social discovery platform.
 7. The system of claim 5,wherein the fee comprises an amount that is set dynamically based on oneor more of the following: a total number of devices attempting totransmit messages to the second device, a time when the first devicetransmitted the message to the second device, a location of the firstdevice and the second device, and a total number of messages transmittedby the first device.
 8. The system of claim 1, wherein the descriptiveinformation includes at least one of the following: an age of the seconduser, a gender of the second user, one or more occupations of the seconduser, a location of the second device, one or more group affiliations ofthe second user, one or more interests of the second user, and one ormore characteristics of the second user.
 9. The system of claim 1,wherein the executable software module is further configured todetermine whether to display the at least one of the user photograph andthe descriptive information received from the second device.
 10. Thesystem of claim 9, wherein the executable software module is configuredto determine whether to display the at least one of the user photographand the descriptive information received from the second device based atleast in part on the descriptive information received from the seconddevice and one or more filter criteria specified by the first user. 11.A method for facilitating decentralized social discovery, comprising:obtaining, by a first device associated with a first user, descriptiveinformation from a second device associated with a second user;determining, by a hardware processor of the first device, whether thefirst device has already received a user photograph of the second userof the second device from the second device wherein the first device isto search a data storage of the first device for the user photograph ofthe second user of the second device; in response to determining, by thehardware processor, that the first device has not already received, fromthe second device, a user photograph of the second user of the seconddevice, the first device comprises: establishing a decentralizedconnection with a communication interface of the second deviceindependent of a centralized server; receiving a user photograph of thesecond user of the second device; determining whether a request for auser photograph of the first user is received from the second device; inresponse to determining that a request for a user photograph of thefirst user is received from the second device, transmitting a userphotograph to the second device; and terminating the connection with thesecond device; and displaying, to the first user of the first device, atleast one of the user photograph and the descriptive information. 12.The method of claim 11, further comprising discovering the second deviceand receiving device information from the second device independent ofan Internet connection without engaging a central server.
 13. The methodof claim 11, further comprising: receiving, from the first device, arequest to establish communications with at least the second user of thesecond device; and establishing a connection with the second device inresponse to the request.
 14. The method of claim 13, further comprising:receiving, from the first device, a message to transmit to the seconddevice; and transmitting the message to the second device.
 15. Themethod of claim 14, further comprising: receiving, at the second device,the message from the first user; determining, by the second device,whether the first user paid a fee; and in response to determining thatthe first user paid the fee, displaying the message to the second userat the second device.
 16. The method of claim 15, wherein the feecomprises one of an amount stipulated by the second user and an amountset by the decentralized social discovery platform.
 17. The method ofclaim 15, wherein the fee comprises an amount that is set dynamicallybased on one or more of the following: a total number of devicesattempting to transmit messages to the second device, a time when thefirst device transmitted the message to the second device, a location ofthe first device and the second device, and a total number of messagestransmitted by the first device.
 18. The method of claim 11, wherein thedescriptive information includes at least one of the following: an ageof the second user, a gender of the second user, one or more occupationsof the second user, a location of the second device, one or more groupaffiliations of the second user, one or more interests of the seconduser, and one or more characteristics of the second user.
 19. The methodof claim 11, further comprising determining whether to display the atleast one of the user photograph and the descriptive informationreceived from the second device.
 20. The method of claim 19, whereinwhether to display the at least one of the user photograph and thedescriptive information received from the second device is determinedbased at least in part on the descriptive information received from thesecond device and one or more filter criteria specified by the firstuser.